﻿
using System;
using System.Runtime.Serialization;
using V82;
using V82.Перечисления;//Ссылка;
namespace V82.Перечисления//Ссылка
{
	[DataContract]
	public enum ВидыДополнительныхВнешнихОбработок
	{
		[NonSerialized]
		ПустаяСсылка = - 1,
		[EnumMember(Value = "{\"Ссылка\":\"b0f80827-c4f6-4dc5-8337-790bba2573f2\", \"Представление\":\"ПечатнаяФорма\"}")]
		ПечатнаяФорма = 0,//Печатная форма
		[EnumMember(Value = "{\"Ссылка\":\"d5b7f602-a9b3-46ec-96ae-c23c282d61dc\", \"Представление\":\"ЗаполнениеТабличныхЧастей\"}")]
		ЗаполнениеТабличныхЧастей = 1,//Заполнение табличных частей
		[EnumMember(Value = "{\"Ссылка\":\"0561fea2-0d9c-49bc-8376-f7d59252d5dd\", \"Представление\":\"Обработка\"}")]
		Обработка = 2,
	///<summary>
	///Внешний отчет
	///</summary>
		[EnumMember(Value = "{\"Ссылка\":\"07dd1313-f887-4dc8-8b83-96bb9daac80c\", \"Представление\":\"Отчет\"}")]
		Отчет = 3,
		[EnumMember(Value = "{\"Ссылка\":\"22473a51-eb8f-4e75-9a82-f0c766ac9cb7\", \"Представление\":\"ВнешняяОбработкаПодключаемаяКОтчету\"}")]
		ВнешняяОбработкаПодключаемаяКОтчету = 4,//Внешняя обработка, подключаемая к отчету
	}
	public static partial class ВидыДополнительныхВнешнихОбработок_Значения//:ПеречислениеСсылка
	{
		public static readonly Guid ПечатнаяФорма = new Guid("0b793783-25ba-f273-4dc5-c4f6b0f80827");//Печатная форма
		public static readonly Guid ЗаполнениеТабличныхЧастей = new Guid("3cc2ae96-2d28-dc61-46ec-a9b3d5b7f602");//Заполнение табличных частей
		public static readonly Guid Обработка = new Guid("d5f77683-5292-ddd5-49bc-0d9c0561fea2");
		///<summary>
		///Внешний отчет
		///</summary>
		public static readonly Guid Отчет = new Guid("bb96838b-aa9d-0cc8-4dc8-f88707dd1313");
		public static readonly Guid ВнешняяОбработкаПодключаемаяКОтчету = new Guid("c7f0829a-ac66-b79c-4e75-eb8f22473a51");//Внешняя обработка, подключаемая к отчету
		public static ВидыДополнительныхВнешнихОбработок Получить(this ВидыДополнительныхВнешнихОбработок Значение, byte[] Ссылка)
		{
			return Получить(Значение, new Guid(Ссылка));
		}
		public static ВидыДополнительныхВнешнихОбработок Получить(this ВидыДополнительныхВнешнихОбработок Значение, Guid Ссылка)
		{
			if(Ссылка == ПечатнаяФорма)
			{
				return ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма;
			}
			else if(Ссылка == ЗаполнениеТабличныхЧастей)
			{
				return ВидыДополнительныхВнешнихОбработок.ЗаполнениеТабличныхЧастей;
			}
			else if(Ссылка == Обработка)
			{
				return ВидыДополнительныхВнешнихОбработок.Обработка;
			}
			else if(Ссылка == Отчет)
			{
				return ВидыДополнительныхВнешнихОбработок.Отчет;
			}
			else if(Ссылка == ВнешняяОбработкаПодключаемаяКОтчету)
			{
				return ВидыДополнительныхВнешнихОбработок.ВнешняяОбработкаПодключаемаяКОтчету;
			}
			return ВидыДополнительныхВнешнихОбработок.ПустаяСсылка;
		}
		public static byte[] Ключ(this ВидыДополнительныхВнешнихОбработок Значение)
		{
			return Ссылка(Значение).ToByteArray();
		}
		public static Guid Ссылка(this ВидыДополнительныхВнешнихОбработок Значение)
		{
			switch (Значение)
			{
				case ВидыДополнительныхВнешнихОбработок.ПечатнаяФорма: return ПечатнаяФорма;
				case ВидыДополнительныхВнешнихОбработок.ЗаполнениеТабличныхЧастей: return ЗаполнениеТабличныхЧастей;
				case ВидыДополнительныхВнешнихОбработок.Обработка: return Обработка;
				case ВидыДополнительныхВнешнихОбработок.Отчет: return Отчет;
				case ВидыДополнительныхВнешнихОбработок.ВнешняяОбработкаПодключаемаяКОтчету: return ВнешняяОбработкаПодключаемаяКОтчету;
			}
			return Guid.Empty;
		}
	}
}